import axios from 'axios'
import {ElMessage} from 'element-plus'
import router from '../router'
//创建axios实例对象
const request = axios.create({
    baseURL: '/api',
    timeout: 6000
})

//axios的响应 response 拦截器
request.interceptors.response.use(
    (response) => {//成功回调
        return response.data
    },
    (error) => {//失败回调
        //响应401跳转登录页面
        if(error.response.status === 401){
            // 1.提示消息
            ElMessage.error('登录过期，请重新登录')
            // 2.跳转登录页
            router.push('/login')
        }
        else {
            ElMessage.error('接口访问异常，请联系管理员')
        }
        return Promise.reject(error)
    }
)

//axios的请求 request 拦截器 -获取localstorage中的token，在请求头中添加token
request.interceptors.request.use(
    (config) => {//成功回调
        const loginUser = JSON.parse(localStorage.getItem('loginUser'))
        if(loginUser&&loginUser.token){
            config.headers.token = loginUser.token            
        }
        return config
    },
    (error) => {//失败回调
        return Promise.reject(error)
    }
)
export default request